#include <iostream>

using namespace std;
const int MOD = 1e9 + 7;

int func1() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int n;
    string str;
    cin >> n >> str;

    vector<int> zeros;
    for (int i = 0; i < n; i++) {
        if (str[i] == '0') zeros.push_back(i);
    }

    if (zeros.empty()) {
        cout << 0 << "\n";
        return 0;
    }
    if (zeros.size() == 1) {
        cout << 1 << "\n";
        return 0;
    }

    long long ans = 1;
    for (int i = 0; i + 1 < (int)zeros.size(); i++) {
        ans = ans * (zeros[i+1] - zeros[i]) % MOD;
    }

    cout << ans << "\n";
    return 0;
}


int func2() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int n;
    if (!(cin >> n)) return 0;
    long long ans = 0;
    long long prefMin = (long long)4e18; // 无穷大
    for (int i = 0; i < n; ++i) {
        long long s; cin >> s;          // 1 ≤ s ≤ 1e9
        prefMin = min(prefMin, s);      // 当前前缀最小值
        ans += prefMin;
    }
    cout << ans << '\n';
    return 0;
}